package com.foreknow.dao;

import com.foreknow.model.*;

import java.sql.SQLException;
import java.util.List;

public interface UserMapper {

    /**
     * 根据编号查询信息
     * @param id
     * @return
     * @throws SQLException
     */
    public User findUserById(int id)throws SQLException;

    /**
     * 根据用户名查询用户信息列表
     * @param name
     * @return
     * @throws SQLException
     */
    public List<User> findUserByName(String name )throws SQLException;

    /**
     * c添加用户信息
     * @param user
     * @throws SQLException
     */
    public void insertUser(User user) throws SQLException;

    /**
     * 根据id删除用户信息
     * @param id
     * @throws SQLException
     */
    public void deleteUser(int id)throws SQLException;

    /**
     * 根据UserQueryInfo中的条件来查询用户信息（UserCustom）
     * @param userQueryInfo
     * @return
     * @throws SQLException
     */
    public List<UserCustom> findUserList(UserQueryInfo userQueryInfo) throws  SQLException;

    /**
     * 查询订单所关联的用户信息
     * @return
     * @throws SQLException
     */
    public List<OrdersInfo> findOrderUser()throws SQLException;

    /**
     * 查询订单所关联的用户信息 使用resultMap的方式
     * @return
     * @throws SQLException
     */
    public List<Orders> findOrdersUserResultMap() throws  SQLException;

    /**
     * 查询订单（关联用户的信息）以及订单明细
     * @return
     * @throws SQLException
     */
    public List<Orders> findOrdersDetail() throws SQLException;


    /**
     * 查询用户购买商品的信息
     * @return
     * @throws SQLException
     */
    public List<User> findUserItems() throws SQLException;
}
